The present invention generally relates to methods and apparatus for handling information queries in distributed information processing environment and, more specifically, to methods, apparatus, and computer program products for managing delayed responses to shopping requests directed from a travel reservation system to one or more content provider platforms.
Distributed information processing systems are employed for various commercial applications such as distributed database systems, search machines, e-commerce platforms, travel portals, comparison shopping platforms and the like. FIG. 1 depicts a high-level architecture of a distributed search machine system. The distributed search system 1 generally includes of inquiring entities 2, a search engine 6 and content provider platforms 3. In the example of a search machine, the inquiring entities 2 are e.g., client computers which direct search queries to the search engine 6. The search engine 6 processes the queries and collects the respective answers from the content provider platforms 3, i.e., web servers throughout the Internet in the search machine example. The search engine 6 returns responses to the inquiring entities 2.
Such distributed information processing systems often utilize caches. Caches are generally employed to store responses to be returned to the inquirer in order to accelerate the query process. For example, with respect to search machines, crawling the Internet in a synchronous manner in response to particular search queries would be far too slow. Thus, the inquirer receives responses from the cache which has been filled with response data beforehand, i.e., asynchronously to the occurrence of particular queries. As a downside of this cache-based approach, the responses returned to the inquirers may not reflect the current data of the content provider platforms. If the content provider platforms' data has changed between the last cache update, the response returned to the inquirer may be outdated.
An exemplary message flow occurring in a classical distributed information processing system without utilization of a cache is shown by FIG. 2 (which, like FIG. 1, relates to the example of a search machine). First, an inquiring entity 2 such as a client computer issues an information query 20 to search engine 6. The search engine 6 processes this request at 21 and possibly splits it up into two information queries, each of them to be directed to a different content provider platform 3. In view of this distributional activity, search engine 6 is more generally referred to as distribution unit 6 in the context of the present invention and the subsequent examples.
Query 22 is sent to content provider platform A, whereas query 23 is transmitted to content provider platform B. The search engine 6 then has to wait for the feed-back from the content provider platforms 3 in order to generate the overall response to the inquiring entity 2. In the example of FIG. 2, content provider platform B responds instantaneously with response 24. However, search engine 6 also requires a response from content provider platform A to answer request 20. Hence, it waits for this response at 25. The response 26 from content provider platform A then finally arrives at some later point of time. Search engine 6 generates combined response 27 from the two messages 24 and 26 and forwards it to the inquiring entity 2.
As illustrated by this simple example, the time between the inquiring entity's request 20 and the response 27 strongly depends on the responsiveness of the content provider platforms 3. In systems where search engine 6 needs responses from all content provider platforms 3 in order to generate combined response 27, the waiting time for inquiring entity 2 is determined by the slowest content provider platform 3. The responsiveness of content provider platforms may depend on various factors such as their hardware and software configuration, their current load, the amount of processing needed to answer the query etc., all of which may vary among the content provider platforms 3 at the time of arrival of a particular query from search engine 6. From the perspective of the inquiring entity 2, the time duration until reception of response 27 is unpredictable and not transparent. There is no guarantee whether and when a response to its request will arrive.
Time delays of this nature may be particularly troublesome in a travel search environment. A shopping request communicated from an inquiring entity, such as a travel agency, to a travel reservation system often invokes the need to query multiple travel content providers. The multi-provider shopping requests is parsed by the travel reservation system into a single provider shopping request that is forwarded to multiple travel content providers. The travel reservation system aggregates the various different shopping responses received from the travel content providers and then communicates a unified shopping message or response back to the inquiring entity that originated the multi-provider shopping request. In the car rental realm of travel search, the unified message may provide, for example, rates for multiple rental locations, multiple rental dates, multiple car rental companies, and even multimedia content.
The effective reaction time of the travel reservation system to a multi-provider shopping request is impacted by the need to wait on responses from slower travel content providers with lengthy response times. Prompt responses received from fast travel content providers are effectively delayed until the belated responses are received from the slow travel content providers.
Methods, apparatus, and computer program products are needed that provide a predictable and selectable timing requirement for inquiring entities in response to their travel shopping requests.